void main(List<String> args) {
  // 1. 常规函数 + 参数 + 返回值
  say();
  String info = getInfo();
  String info2 = getInfo2('jack', 18);
  print(info);
  print(info2);
  // 2. 可选参数
  String info3 = getInfo3('jack', 18);
  print(info3);
  // 3. 函数对象
  Function fn = say;
  fn();
  // 4. 匿名函数
  onClick(() {
    print('登录');
  });
  // 5. 箭头函数
  int sum = getSum2(10, 12);
  print(sum);
}

say() {
  print("say Hello");
}

String getInfo() {
  return "";
}

String getInfo2(String name, int age) {
  return '我是$name,我$age岁';
}

String getInfo3(String name, int age, {String? gender}) {
  return '我是$name,我$age岁,性别${gender != null ? gender : '保密'}';
}

void onClick(Function callback) {
  print('触发点击');
  callback();
}

//
int getSum(int a, int b) {
  return a + b;
}

// 箭头函数，函数体是一句话
int getSum2(int a, int b) => a + b;
